package com.yingjie.yingjieorder.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;

/**
 * 订单表
 * @TableName order
 */
public class Order implements Serializable {
    /**
     * 
     */
    private Integer orderId;

    /**
     * 状态  等待接单100 已结单200 完成订单300
     */
    private Integer orderStatus;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 更新时间
     */
    private Date updatedAt;

    /**
     * 订单唯一码
     */
    private String orderUuid;

    /**
     * 下单用户
     */
    private Integer userId;

    /**
     * 支付方式
     */
    private Integer paymentMethod;

    /**
     * 订单总金额
     */
    private BigDecimal totalPrice;

    /**
     * 订单指定给某个用户
     */
    private Integer toUserId;

    /**
     * 订单备注
     */
    private String orderDes;

    /**
     * 下单用户指定的做饭时间
     */
    private Date cookTime;

    /**
     * 订单完成时间，做饭完成时间
     */
    private Date finishTime;

    private ArrayList<OrderFood> orderFoods = new ArrayList<>();

    private static final long serialVersionUID = 1L;

    public ArrayList<OrderFood> getOrderFoods() {
        return orderFoods;
    }

    public void setOrderFoods(ArrayList<OrderFood> orderFoods) {
        this.orderFoods = orderFoods;
    }

    /**
     * 
     */
    public Integer getOrderId() {
        return orderId;
    }

    /**
     * 
     */
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    /**
     * 状态  等待接单100 已结单200 完成订单300
     */
    public Integer getOrderStatus() {
        return orderStatus;
    }

    /**
     * 状态  等待接单100 已结单200 完成订单300
     */
    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    /**
     * 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 订单唯一码
     */
    public String getOrderUuid() {
        return orderUuid;
    }

    /**
     * 订单唯一码
     */
    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    /**
     * 下单用户
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * 下单用户
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * 支付方式
     */
    public Integer getPaymentMethod() {
        return paymentMethod;
    }

    /**
     * 支付方式
     */
    public void setPaymentMethod(Integer paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    /**
     * 订单总金额
     */
    public BigDecimal getTotalPrice() {
        return totalPrice;
    }

    /**
     * 订单总金额
     */
    public void setTotalPrice(BigDecimal totalPrice) {
        this.totalPrice = totalPrice;
    }

    /**
     * 订单指定给某个用户
     */
    public Integer getToUserId() {
        return toUserId;
    }

    /**
     * 订单指定给某个用户
     */
    public void setToUserId(Integer toUserId) {
        this.toUserId = toUserId;
    }

    /**
     * 订单备注
     */
    public String getOrderDes() {
        return orderDes;
    }

    /**
     * 订单备注
     */
    public void setOrderDes(String orderDes) {
        this.orderDes = orderDes;
    }

    /**
     * 下单用户指定的做饭时间
     */
    public Date getCookTime() {
        return cookTime;
    }

    /**
     * 下单用户指定的做饭时间
     */
    public void setCookTime(Date cookTime) {
        this.cookTime = cookTime;
    }

    /**
     * 订单完成时间，做饭完成时间
     */
    public Date getFinishTime() {
        return finishTime;
    }

    /**
     * 订单完成时间，做饭完成时间
     */
    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    @Override
    public String toString() {
        return "Order{" +
                "orderId=" + orderId +
                ", orderStatus=" + orderStatus +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                ", orderUuid='" + orderUuid + '\'' +
                ", userId=" + userId +
                ", paymentMethod=" + paymentMethod +
                ", totalPrice=" + totalPrice +
                ", toUserId=" + toUserId +
                ", orderDes='" + orderDes + '\'' +
                ", cookTime=" + cookTime +
                ", finishTime=" + finishTime +
                ", orderFoods=" + orderFoods +
                '}';
    }
}